// Verilated -*- C++ -*-
// DESCRIPTION: Verilator output: Tracing implementation internals
#include "verilated_vcd_c.h"
#include "Vysyx_22040213_sext12to64__Syms.h"


void Vysyx_22040213_sext12to64___024root__traceChgSub0(Vysyx_22040213_sext12to64___024root* vlSelf, VerilatedVcd* tracep);

void Vysyx_22040213_sext12to64___024root__traceChgTop0(void* voidSelf, VerilatedVcd* tracep) {
    Vysyx_22040213_sext12to64___024root* const __restrict vlSelf = static_cast<Vysyx_22040213_sext12to64___024root*>(voidSelf);
    Vysyx_22040213_sext12to64__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
    if (VL_UNLIKELY(!vlSymsp->__Vm_activity)) return;
    // Body
    {
        Vysyx_22040213_sext12to64___024root__traceChgSub0((&vlSymsp->TOP), tracep);
    }
}

void Vysyx_22040213_sext12to64___024root__traceChgSub0(Vysyx_22040213_sext12to64___024root* vlSelf, VerilatedVcd* tracep) {
    if (false && vlSelf) {}  // Prevent unused
    Vysyx_22040213_sext12to64__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
    vluint32_t* const oldp = tracep->oldp(vlSymsp->__Vm_baseCode + 1);
    if (false && oldp) {}  // Prevent unused
    // Body
    {
        if (VL_UNLIKELY(vlSelf->__Vm_traceActivity[1U])) {
            tracep->chgQData(oldp+0,(vlSelf->ysyx_22040213_top__DOT__ext_imm),64);
            tracep->chgQData(oldp+2,(vlSelf->ysyx_22040213_top__DOT__wdata),64);
            tracep->chgCData(oldp+4,(vlSelf->ysyx_22040213_top__DOT__waddr),5);
        }
        if (VL_UNLIKELY(vlSelf->__Vm_traceActivity[2U])) {
            tracep->chgQData(oldp+5,(vlSelf->ysyx_22040213_top__DOT__reg1__DOT__rf[0]),64);
            tracep->chgQData(oldp+7,(vlSelf->ysyx_22040213_top__DOT__reg1__DOT__rf[1]),64);
            tracep->chgQData(oldp+9,(vlSelf->ysyx_22040213_top__DOT__reg1__DOT__rf[2]),64);
            tracep->chgQData(oldp+11,(vlSelf->ysyx_22040213_top__DOT__reg1__DOT__rf[3]),64);
            tracep->chgQData(oldp+13,(vlSelf->ysyx_22040213_top__DOT__reg1__DOT__rf[4]),64);
            tracep->chgQData(oldp+15,(vlSelf->ysyx_22040213_top__DOT__reg1__DOT__rf[5]),64);
            tracep->chgQData(oldp+17,(vlSelf->ysyx_22040213_top__DOT__reg1__DOT__rf[6]),64);
            tracep->chgQData(oldp+19,(vlSelf->ysyx_22040213_top__DOT__reg1__DOT__rf[7]),64);
            tracep->chgQData(oldp+21,(vlSelf->ysyx_22040213_top__DOT__reg1__DOT__rf[8]),64);
            tracep->chgQData(oldp+23,(vlSelf->ysyx_22040213_top__DOT__reg1__DOT__rf[9]),64);
            tracep->chgQData(oldp+25,(vlSelf->ysyx_22040213_top__DOT__reg1__DOT__rf[10]),64);
            tracep->chgQData(oldp+27,(vlSelf->ysyx_22040213_top__DOT__reg1__DOT__rf[11]),64);
            tracep->chgQData(oldp+29,(vlSelf->ysyx_22040213_top__DOT__reg1__DOT__rf[12]),64);
            tracep->chgQData(oldp+31,(vlSelf->ysyx_22040213_top__DOT__reg1__DOT__rf[13]),64);
            tracep->chgQData(oldp+33,(vlSelf->ysyx_22040213_top__DOT__reg1__DOT__rf[14]),64);
            tracep->chgQData(oldp+35,(vlSelf->ysyx_22040213_top__DOT__reg1__DOT__rf[15]),64);
            tracep->chgQData(oldp+37,(vlSelf->ysyx_22040213_top__DOT__reg1__DOT__rf[16]),64);
            tracep->chgQData(oldp+39,(vlSelf->ysyx_22040213_top__DOT__reg1__DOT__rf[17]),64);
            tracep->chgQData(oldp+41,(vlSelf->ysyx_22040213_top__DOT__reg1__DOT__rf[18]),64);
            tracep->chgQData(oldp+43,(vlSelf->ysyx_22040213_top__DOT__reg1__DOT__rf[19]),64);
            tracep->chgQData(oldp+45,(vlSelf->ysyx_22040213_top__DOT__reg1__DOT__rf[20]),64);
            tracep->chgQData(oldp+47,(vlSelf->ysyx_22040213_top__DOT__reg1__DOT__rf[21]),64);
            tracep->chgQData(oldp+49,(vlSelf->ysyx_22040213_top__DOT__reg1__DOT__rf[22]),64);
            tracep->chgQData(oldp+51,(vlSelf->ysyx_22040213_top__DOT__reg1__DOT__rf[23]),64);
            tracep->chgQData(oldp+53,(vlSelf->ysyx_22040213_top__DOT__reg1__DOT__rf[24]),64);
            tracep->chgQData(oldp+55,(vlSelf->ysyx_22040213_top__DOT__reg1__DOT__rf[25]),64);
            tracep->chgQData(oldp+57,(vlSelf->ysyx_22040213_top__DOT__reg1__DOT__rf[26]),64);
            tracep->chgQData(oldp+59,(vlSelf->ysyx_22040213_top__DOT__reg1__DOT__rf[27]),64);
            tracep->chgQData(oldp+61,(vlSelf->ysyx_22040213_top__DOT__reg1__DOT__rf[28]),64);
            tracep->chgQData(oldp+63,(vlSelf->ysyx_22040213_top__DOT__reg1__DOT__rf[29]),64);
            tracep->chgQData(oldp+65,(vlSelf->ysyx_22040213_top__DOT__reg1__DOT__rf[30]),64);
            tracep->chgQData(oldp+67,(vlSelf->ysyx_22040213_top__DOT__reg1__DOT__rf[31]),64);
        }
        tracep->chgBit(oldp+69,(vlSelf->clk));
        tracep->chgBit(oldp+70,(vlSelf->rst));
        tracep->chgIData(oldp+71,(vlSelf->inst),32);
        tracep->chgQData(oldp+72,(vlSelf->pc),64);
        tracep->chgCData(oldp+74,((0x7fU & vlSelf->inst)),7);
        tracep->chgCData(oldp+75,((0x1fU & (vlSelf->inst 
                                            >> 0xfU))),5);
        tracep->chgCData(oldp+76,((0x1fU & (vlSelf->inst 
                                            >> 0x14U))),5);
        tracep->chgCData(oldp+77,((0x1fU & (vlSelf->inst 
                                            >> 7U))),5);
        tracep->chgCData(oldp+78,((7U & (vlSelf->inst 
                                         >> 0xcU))),3);
        tracep->chgSData(oldp+79,((vlSelf->inst >> 0x14U)),12);
        tracep->chgBit(oldp+80,((0x13U == (0x7fU & vlSelf->inst))));
        tracep->chgQData(oldp+81,(((0U != (0x1fU & 
                                           (vlSelf->inst 
                                            >> 0xfU)))
                                    ? vlSelf->ysyx_22040213_top__DOT__reg1__DOT__rf
                                   [(0x1fU & (vlSelf->inst 
                                              >> 0xfU))]
                                    : 0ULL)),64);
        tracep->chgQData(oldp+83,(((0U != (0x1fU & 
                                           (vlSelf->inst 
                                            >> 0x14U)))
                                    ? vlSelf->ysyx_22040213_top__DOT__reg1__DOT__rf
                                   [(0x1fU & (vlSelf->inst 
                                              >> 0x14U))]
                                    : 0ULL)),64);
    }
}

void Vysyx_22040213_sext12to64___024root__traceCleanup(void* voidSelf, VerilatedVcd* /*unused*/) {
    Vysyx_22040213_sext12to64___024root* const __restrict vlSelf = static_cast<Vysyx_22040213_sext12to64___024root*>(voidSelf);
    Vysyx_22040213_sext12to64__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
    // Body
    {
        vlSymsp->__Vm_activity = false;
        vlSymsp->TOP.__Vm_traceActivity[0U] = 0U;
        vlSymsp->TOP.__Vm_traceActivity[1U] = 0U;
        vlSymsp->TOP.__Vm_traceActivity[2U] = 0U;
    }
}
